package spil;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;


/*
 *  Denne klasse indlæser al tekst som bruges i systemet fra en fil.
 *  Teksten fra filen gemmes i static variabler.
 *  Variablerne kan dermed importeres og bruges direkte fra andre klasser i systemet.
 */

public class Text {

	static String[] text = new String[23]; // Opretter array af Strings
	
	/*
	 *  Herunder opretter vi ny variabler med sigende navne som kan bruges i resten af systemet (static).
	 *  Vi gør dette for man nemmere kan skelne hvilken tekst man refererer til i resten af systemet.
	 */

	// Felternes beskrivelse. Disse beskrivelser vises når man lander på feltet (og for GUI når man holder markøren over feltet).
	static String TOWER;
	static String CRATER;
	static String PALACEGATES;
	static String COLDDESERT;
	static String WALLEDCITY;
	static String MONASTARY;
	static String BLACKCAVE;
	static String HUTSINTHEMOUNTAIN;
	static String THEWEREWALL;
	static String EKSTRASLAG ;
	static String THEPIT;
	static String GOLDMINE;

	// Felter som bruges som kommunikation til spillerne for at guide dem igennem et spil
	static String DRAW;
	static String WINNER; 
	static String TURNGUI;
	static String TURNTUI;
	static String CHOOSEUI;
	static String ENTERNAME;

	// Tekst der kun bruges i TUI
	static String POINTTUI;	
	static String SLAGTUI;
	static String OEJNETUI;

	/*
	 *  Metode som læser indholdet af en fil og gemmer dette resultat i et array af strings.
	 *  Inspiration hentet her: http://www.java-tips.org/java-se-tips/java.io/how-to-read-file-in-java.html
	 *  Koden er tilpasset til vores behov (gemmer i et array i stedet for at printe hver linie).
	 */
	public static void read(){

		File file = new File("src/spil/text.txt");

		try {
			BufferedReader r = new BufferedReader(new FileReader(file));
			
			// Læser hver linie i filen (strings) og gemmer dem i arrayet text[linienummer]
			String str = r.readLine();
			int n = 1;
			while(str != null && n<=text.length)
			{
				text[n++] = str;
				str = r.readLine();    	  
			}

			// dispose all the resources after using them.
			r.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}	
		
		// Vi vælger at gemme linierne i variabler med sigende navne som bruges i resten af systemet.
		TOWER = text[1];
		CRATER = text[2];
		PALACEGATES = text[3];
		COLDDESERT = text[4];
		WALLEDCITY = text[5];
		MONASTARY = text[6];
		BLACKCAVE = text[7];
		HUTSINTHEMOUNTAIN = text[8];
		THEWEREWALL = text[9];
		EKSTRASLAG = text[10];
		THEPIT = text[11];
		GOLDMINE = text[12];
		DRAW = text[13];
		WINNER = text[14];
		TURNGUI = text[15];
		TURNTUI = text[16];
		CHOOSEUI = text[17];
		ENTERNAME =	text[18];
		POINTTUI = text[19];
		SLAGTUI = text[20];
		OEJNETUI = text[21];
	}

}
